1. Technical Field
The present invention relates generally to the field of data hashing, and more specifically to a hardware implementation of the MD5 hash function. In particular, the invention is directed to a hardware implementation to reduce the hardware resource utilization and power consumption requirements and also increase the speed at which MD5 procedures may be performed on data, for example in a hard disk duplicator.
2. Description of Related Art
Data encryption is commonly utilized in a variety of settings. There are four basic categories of cryptographic algorithm functionality: public key encryption algorithms, bulk encryption algorithms, random number generation algorithms and hashing algorithms. In order to ensure data integrity, several standard cryptographic hash algorithms have been developed and include MD5 (i.e., Message Digest 5). The MD5 algorithm is described in RFC1321, which is incorporated by reference herein for all purposes.
Briefly, MD5 is a one-way hash function used in many situations, such as creating digital signatures in forensic data management. The MD5 process converts a message into a fixed-length string of digits (that is, a message digest). The one-way hash function allows a calculated message digest to be compared against a later-calculated message digest for the same data to determine whether or not the message has been tampered with, corrupted, inadvertently changed, etc.
The MD5 algorithm pads a b-bit input message so that its length in bits is congruent to 448, modulo 512, after which a 64-bit representation of the message length is appended, resulting in a 512-bit hash message (that is, a hash message length that is an exact multiple of 16 words that are each 32 bits long). A four word buffer (four registers typically designated A, B, C, D) is used to compute the message digest, where each of A, B, C and D is a 32-bit register that is initialized to established hexadecimal values. The MD5 process then performs 4 rounds of 16 operations each.
A hard-drive replicator or duplicator produces an exact copy (that is, a replica) of a hard-drive. Conventional hard-drive duplicators are mainly self-contained, stand-alone devices having a number of drive interfaces. For example, a typical hard-drive duplicator may include a single drive interface for purposes of connecting a source drive and one or more interfaces for purposes of connecting target drives. When activated, the duplicator copies data from the source drive to each target drive. Further information can be found in United States Publication No. 2008/0082741, published Apr. 3, 2008, which is incorporated herein by reference for all purposes.
Systems, apparatus and/or other hardware implementations that provide improved MD5 hashing without diminishing the speed of a replicator, duplicator or other hard-drive copying device or system would represent a significant advancement in the art.